Oil and Water? High Performance Garbage Collection in Java with JMTk

نویسندگان

  • Stephen M Blackburn
  • Perry Cheng
  • Kathryn S McKinley
چکیده

Increasingly popular languages such as Java and C# require efficient and flexible garbage collection. This paper presents the design, implementation, and evaluation of JMTk, a Java Memory Management Toolkit in Java. We show a software engineering success story with an efficient, composable, extensible, and portable framework for quickly building and evaluating collectors. JMTk attains its modularity and efficiency using a few design patterns and compiler cooperation. Experimental comparisons with monolithic Java and C implementations reveal significant performance advantages from our design. Performance critical system software typically uses monolithic C at the expense of flexibility. Our results refute common wisdom that only this approach attains efficiency, and suggest that performance critical software can embrace modular design.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Porting the JMTk memory management toolkit

JMTk is a memory management toolkit written in Java, originally for the JikesRVM Java Virtual Machine. JMTk provides reusable components for the development of allocation and garbage collection algorithms, an efficient implementation of a rapidly growing number of memory management schemes, and is an important enabler for memory management research. A portable version of JMTk will allow the gro...

متن کامل

JMTk: A Portable Memory Management Toolkit

JMTk is a memory management toolkit written in Java for the JikesRVM Java Virtual Machine. JMTk provides reusable components for the development of allocation and garbage collection algorithms, and an efficient implementation of a rapidly growing number of memory management schemes, and is a significant enabler for memory management research. A portable version of JMTk would allow the growing b...

متن کامل

An Investigation into Automatic Dynamic Memory Management Strategies using Compacting Collection

This paper describes the design, implementation and performance characteristics of several compacting collectors in the Java Memorymanagement Toolkit (JMTk). Compacting collectors are an important class of collectors used in several production runtimes, including Microsoft’s Common Language Runtime and IBM’s Java Runtime Environment. The development of a strategy using compaction makes an impor...

متن کامل

Designing a Concurrent Hardware Garbage Collector for Small Embedded Systems

Today more and more functionality is packed into all kinds of embedded systems, making high-level languages, such as Java, increasingly attractive as implementation languages. However, certain aspects, essential to high-level languages are much harder to address in a low performance, small embedded system than on a desktop computer. One of these aspects is memory management with garbage collect...

متن کامل

The Heap of the Living Dead: Post-mortem Memory Profiling for Java Applications

Managed memory, i.e., garbage collected memory, has gained wide-spread use because it relieves the programmer from freeing heap objects manually and allows for fast allocations. However, these advantages come at the cost of a difficult to understand memory manager and garbage collector. Therefore, searching for memory-related performance degredations is a tedious task because the reasons for sl...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004